﻿using System;

namespace uTILLIty.ADExtractor.Core.Formatters
{
	/// <summary>
	/// 
	/// </summary>
	/// <seealso href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa772300(v=vs.85).aspx" />
	[Flags]
	public enum UserAccountControlTypes
	{
		ExecuteLogonScript = 1,         // 0x1 ADS_UF_SCRIPT
		AccountDisabled = 2,         // 0x2 ADS_UF_ACCOUNTDISABLE
		HomeDirRequired = 8,         // 0x8 ADS_UF_HOMEDIR_REQUIRED
		LockedOut = 16,        // 0x10 ADS_UF_LOCKOUT
		PasswordNotRequired = 32,        // 0x20 ADS_UF_PASSWD_NOTREQD
		PasswordCantChange = 64,        // 0x40 ADS_UF_PASSWD_CANT_CHANGE
		PasswordSendEncryptedAllowed = 128,       // 0x80 ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED
		TrustedDomainShadowAccount = 256,       // 0x100 ADS_UF_TEMP_DUPLICATE_ACCOUNT
		NormalAccount = 512,       // 0x200 ADS_UF_NORMAL_ACCOUNT
		InterdomainTrustAccount = 2048,      // 0x800 ADS_UF_INTERDOMAIN_TRUST_ACCOUNT
		WorkstationTrustAccount = 4096,      // 0x1000 ADS_UF_WORKSTATION_TRUST_ACCOUNT
		ServerTrustAccount = 8192,      // 0x2000 ADS_UF_SERVER_TRUST_ACCOUNT
		PasswordDoesNotExpire = 65536,     // 0x10000 ADS_UF_DONT_EXPIRE_PASSWD
		MnsLogonAccount = 131072,    // 0x20000 ADS_UF_MNS_LOGON_ACCOUNT
		LogonPerSmartcardOnly = 262144,    // 0x40000 ADS_UF_SMARTCARD_REQUIRED
		TrustedForDelegation = 524288,    // 0x80000 ADS_UF_TRUSTED_FOR_DELEGATION
		NotDelegated = 1048576,   // 0x100000 ADS_UF_NOT_DELEGATED
		DesEncryptionOnly = 2097152,   // 0x200000 ADS_UF_USE_DES_KEY_ONLY
		NoPreauthRequired = 4194304,   // 0x400000 ADS_UF_DONT_REQUIRE_PREAUTH
		PasswordExpired = 8388608,   // 0x800000 ADS_UF_PASSWORD_EXPIRED
		TrustedToAuthenticateForDelegation = 16777216   // 0x1000000 ADS_UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION
	}
}